home *** CD-ROM | disk | FTP | other *** search
-
- =============================================================================
- Humorous Tidbits #6:
- Computer Languages
- From The Enforcer & friends
- =============================================================================
-
- Babbage - The Language of the Future
-
- Babbage is based on language elements that were discovered after the design
- of ADA was completed. For instance, C. A. R. Hare, in his 1980 Turing Award
- lecture, told of two ways of constructing a software design
- "One way is to make it so simple that there are obviously no deficiencies
- and the other way is to make it so complicated that there are no obvious
- deficiencies."
-
- The designers of Babbage have chosen a third alternative - a language
- that has only obvious deficiencies. Babbage programs are so unreliable
- that maintenance can begin before system integration is completed. This
- guarantees a steady increase in the DP job marketplace.
-
- Structured languages banned GOTOs and multiway conditional branches by
- replacing them with the simpler IF-THEN-ELSE structure. Babbage has a
- number of new conditional statements that act like termites in the
- structure of your program.
-
- WhatIf - Used in simulation. Branches before evaluating test
- ______ conditions.
-
- OrElse - Conditional threat as in : "Add these two numbers
- ______ OR ELSE !"
-
- WhyNot - Executes the code that follows in a devil-may-care
- ______ Fashion.
-
- WhoElse - Used for polling during I/O operations.
- _______
-
- Elsewhere - This is where your program really is when you think
- _______ its here.
-
- GoingGoingGone - For writing unstructured programs. Takes a random
- ______________ branch to another part of your program.
- Does the work of 10 GOTOs.
-
-
- For years, programming languages have used "For", "Do Until",
- "Do While", etc. to mean "loop". Continuing with this trend,
- Babbage offers the following loop statements :
-
-
- Don't Do While Not - This loop is not executed if the test condition
- __________________ is not false (or if it's Friday afternoon) .
-
- Didn't Do - The loop executes once and hides all traces.
- _________
-
- Can't Do - The looped is pooped.
- ________
-
- Won't Do - The CPU halts because it doesn't like the code inside
- ________ the loop. Execution can be resumed by typing "May I"
- at the console.
-
- Might Do - Depends on how the CPU is feeling. Executed if the CPU is
- ________ "up", not executed if the CPU is "down", or if it feelings
- are hurt.
-
- Do Unto Others - Used to write the main loop for timesharing systems
- ______________ so that they will antagonize all users in a uniform
- manner.
-
- DOWAH - Used to write timing loops for computer-generated music.
- _____
-
-
- Every self-respecting structured language has a case statement to
- implement multiway branching.Algol offers an indexed case statement
- and Pascal has a labelled case statement. Not much of a choice.
- Babbage offer a variety of case statements :
-
-
- Just-In-Case STMT - For handling afterthoughts and fudge factors.
- _________________ Allows you to multiply by zero to correct for
- accidentally dividing by zero.
-
- The Brief Case STMT - To encourage portable software.
- ___________________
-
- The Open & Shut Case STMT - No proof of correctness is necessary
- _________________________
-
- The In Any Case STMT - This one always works.
- ____________________
-
- The Hopeless Case STMT - This one never works.
- ______________________
-
- The Basket Case STMT - A really hopeless case.
- ____________________
-
- The Babbage Language Design Group is continuously evaluating
- new features that will keep it users from reaching any level of
- effectiveness. For instance, Babbage's designers are now considering the
- Almost Equals Sign used for comparing two floating point numbers. This new
- feature "takes the worry out of even being close".
-
-
-
- NEW LANGUAGES COMPETE WITH APL
-
- A Usually Reliable Source
- Digital Equipment Corporation
- Somewhere in New England
-
- APL, BASIC, FORTRAN, COBOL,... these programming languages are well
- known and (more or less) well loved throughout the computer industry.
- There are numerous other languages, however, that are less well known
- yet still have ardent devotees. In fact, these little-known languages
- generally have the most fanatic admirers. For those who wish to know
- more about these obscure languages -- and why they are obscure -- I
- present the following catalog.
-
-
- SIMPLE
-
- SIMPLE is an acronym for Sheer Idiot's Monopurpose Programming
- Linguistic Environment. This language, developed at Hanover College
- for Technological Misfits, was designed to make it impossible to write
- code with errors in it. The statements are, therefore, confined to
- BEGIN, END, and STOP. No matter how you arrange the statements, you
- can't make a syntax error.
-
- Programs written in SIMPLE do nothing useful. They thus achieve the
- results of programs written in other languages without the tedious,
- frustrating process of testing and debugging.
-
-
- SLOBOL
-
- SLOBOL is best known for the speed, or lack of it, of its compiler.
- Although many compilers allow you to take a coffee break while they
- compile, SLOBOL compilers allow you to travel to Bolivia to pick the
- coffee. Forty-three programmers are known to have died of boredom
- sitting at their terminals while waiting for a SLOBOL program to
- compile.
-
-
- VALGOL
-
- From its modest beginnings in Southern California's San Fernando
- Valley, VALGOL is enjoying a dramatic surge of popularity across the
- industry.
-
- VALGOL commands include REALLY, LIKE, WELL, and Y*KNOW. Variables
- are assigned with the =LIKE and =TOTALLY operators. Other operators
- include the California Booleans, FERSURE and NOWAY. Repetitions of
- code are handled in FOR - SURE loops. Here is a sample VALGOL program:
-
- LIKE Y*KNOW (I MEAN) START
- IF PIZZA =LIKE BITCHEN AND
- B =LIKE TUBULAR AND
- C =LIKE GRODY**MAX
- THEN
- FOR I =LIKE 1 TO OH MAYBE 100
- DO WAH - (DITTY**2)
- BARF(I) =TOTALLY GROSS(OUT)
- SURE
- LIKE BAG THIS PROBLEM
- REALLY
- LIKE TOTALLY(Y*KNOW)
-
- VALGOL is characterized by its unfriendly error messages. For example,
- when the user makes a syntax error, the interpreter displays the
- message:
-
- GAG ME WITH A SPOON!
-
-
- LAIDBACK
-
- Historically, VALGOL is a derivative of LAIDBACK, which was developed
- at the (now defunct) Marin County Center for T'ai Chi, Mellowness, and
- Computer Programming, as an alternative to the intense atmosphere in
- nearby Silicon Valley.
-
- The center was ideal for programmers who liked to soak in hot tubs
- while they worked. Unfortunately, few programmers could survive there
- for long, since the center outlawed pizza and RC Cola in favor of bean
- curd and Perrier.
-
- Many mourn the demise of LAIDBACK because of its reputation as a
- gentle and nonthreatening language. For example, LAIDBACK responded to
- syntax errors with the message:
-
- SORRY MAN, I CAN'T DEAL BEHIND THAT.
-
-
- SARTRE
-
- Named after the late existential philosopher, SARTRE is an extremely
- unstructured language. Statements in SARTRE have no purpose; they just
- are. Thus SARTRE programs are left to define their own functions.
- SARTRE programmers tend to be boring and depressed and are no fun at
- parties.
-
-
- FIFTH
-
- FIFTH is a precision mathematical language in which the data types
- refer to quantity. The data types range from CC, OUNCE, SHOT, and
- JIGGER to FIFTH (hence the name of the language), LITER, MAGNUM, and
- BLOTTO. Commands refer to ingredients such as CHABLIS, CHARDONNAY,
- CABERNET, GIN, VERMOUTH, VODKA, SCOTCH, BOURBON, CANADIAN, and
- WHATEVERSAROUND.
-
- The many versions of the FIFTH language reflect the sophistication
- and financial status of its users. Commands in the ELITE dialect
- include VSOP, LAFITE, and WAITER'S(RECOMMENDATION). The GUTTER
- dialect instead has commands for THUNDERBIRD, RIPPLE, and HOUSE(RED).
- The GUTTER dialect is a particular favorite of frustrated FORTH
- programmers who end up using this language.
-
-
- C-
-
- This language was named for the grade received by its creator when he
- submitted it as a project in a graduate programming class. C- is best
- described as a "low-level" programming language. In general, the
- langauge requires more C- statements than machine-code instructions
- to execute a given task. In this respect it is very similar to COBOL.
-
-
- LITHP
-
- This otherwise unremarkable language is distinguished by the absence
- of an "S" in its character set. Programmers must substitute "TH".
- LITHP is said to be useful in prothething lithtth.
-
-
- DOGO
-
- Developed at the Massachusetts Institute of Obedience Training, DOGO
- heralds a new era of computer-literate pets. DOGO commands include
- SIT, STAY, HEEL, and ROLL OVER. An innovative feature of DOGO is
- "puppy graphics", a small cocker spaniel that occasionally leaves
- deposits as he travels across the screen.
-
-
-
- Here are some thoughts from Dijkstra article "How Do We Tell Truths that
- Might Hurt?" in his book "Selected Writings on Computing" (Springer
- Verlag, 1982):
-
- FORTRAN, "the infantile disorder", by now nearly 20 years old, is
- hopelessly inadequate for whatever computer application you have in mind
- today: it is now too clumsy, too risky, and too expensive to use.
-
- PL/I --"the fatal disease"--belongs more to the problem set than to the
- solution set.
-
- It is practically impossible to teach good programming to students that
- have had a prior exposure to BASIC: as potential programmers they are
- mentally mutilated beyond hope or regeneration.
-
- The use of COBOL cripples the mind; its teaching should, therefore, be
- regarded as a criminal offense.
-
- APL is a mistake, carried through to perfection. It is the language of
- the future for the programming techniques of the past:it creates a new
- generation of coding bums.
-
- The problems of business administration in general and database
- management in particular are much too difficult for people that think in
- IBMerese, compounded with sloppy English.
-
- About the use of language: it is impossible to sharpen a pencil with a
- blunt axe. It is equally vain to try to do it with ten blunt axes
- instead.
-
- We can found no scientific discipline, nor a healthy profession, on the
- technical mistakes of the Department of Defense and, mainly, one
- computer manufacturer.
-
- The use of anthropomorphic terminology when dealing with computing
- systems is a symptom of professional immaturity.
-
- In the good old days physicists repeated each other's experiments, just
- to be sure. Today they stick to FORTRAN, so that they can share each
- other's programs, bugs included.
-
-
- 3 Biggest Software Lies:
- - The program's fully tested and bugfree.
- - We're working on the documentation.
- - Of course we can modify it.
- 3 Biggest Computer Room Lies:
- - As long as you remember to 'SAVE' your input, you'll never lose
- any files.
- - We run the stuff through as fast as it comes in the door.
- - The new machines on order.
- 3 Biggest Large Company Lies:
- - We have an entrepreneurial spirit here.
- - People are our greatest resource.
- - We say 'let the marketplace decide'.
- 3 Biggest Small Company Lies:
- - We have an entrepreneurial spirit here.
- - The boss is just one of the guys.
- - Staying small is a conscious decision.
- 3 Biggest Marketing Lies:
- - Immediate delivery?...No problem.
- - We treat every customer as if they were our most important.
- - We're going out to lunch to talk business.
- 3 Biggest Engineering Professor's Lies:
- - Some day this course will come in handy.
- - These tests are more trouble for me than they are for you.
- - This is the way they do it in industry.
- 3 Biggest Executive Lies:
- - Money...it's just a score card.
- - If it were up to me, there'd be no assigned parking spaces.
- - You have to twist my arm to get me to go on a business trip.
- 3 Biggest Hardware Lies:
- - We always design for testablilty.
- - It worked fine on the proto board.
- - That would be much easier to implement in software.
-
-
-
- THREE PROPOSITIONS
- ------------------
-
- 1. Software engineering is like looking for a black cat in a dark room.
- 2. Systems engineering is like looking for a black cat in a dark
- room in which there is no cat.
- 3. Knowledge engineering is like looking for a black cat in a dark
- room where there is no cat and someone yells, "I got it!".
-
-